From 0c0a9fc71d6a99b505913972043f6897e90f26f3 Mon Sep 17 00:00:00 2001 From: oliskoli Date: Mon, 9 Jul 2007 17:15:51 +0000 Subject: [PATCH] gbfile: Fix gbfungetc. Thanx to Gabriel Weisz. --- gpsbabel/gbfile.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gpsbabel/gbfile.c b/gpsbabel/gbfile.c index affa0066a..3b3489e2a 100644 --- a/gpsbabel/gbfile.c +++ b/gpsbabel/gbfile.c @@ -565,18 +565,25 @@ gbfeof(gbfile *file) int gbfungetc(const int c, gbfile *file) { - int r = -1; + int res; + if (file->gzapi) { #if !ZLIB_INHIBITED - file->back = -1; + if (file->back == -1) { + file->back = c; + res = c; + } + else { + fatal(MYNAME ": Cannot store more than one byte back!\n"); + } #else fatal(NO_ZLIB); #endif } else { - r = ungetc(c, file->handle.std); + res = ungetc(c, file->handle.std); } - return r; + return res; } /* GPSBabel 'file' enhancements */ -- 2.30.2